// config/database.js
//连接1:pool
const mysql = require('mysql2/promise');
require('dotenv').config(); // 加载环境变量

// 创建连接池 (生产环境推荐)
const pool = mysql.createPool({
    host: process.env.DB_HOST || 'localhost',
    user: process.env.DB_USER || 'root',
    password: process.env.DB_PASSWORD || 'root',
    database: process.env.DB_NAME || 'scmproject',
    port: process.env.DB_PORT || 3306,
    waitForConnections: true,
    connectionLimit: process.env.DB_POOL_SIZE || 10,
    queueLimit: 0,
    charset: 'utf8mb4_general_ci', // 支持 emoji
    timezone: '+00:00', // UTC 时区
    decimalNumbers: true // 以数字形式返回 DECIMAL 类型
});


module.exports = {
    pool
};

//连接2:mysql (简单连接)
// const mysql = require('mysql');
// const connection = mysql.createConnection({
//     host: 'localhost',
//     user: 'root',
//     password: 'root',
//     database: 'scmproject',
//     port: 3306
// });
// connection.connect(function (err) {
//     if (err) {
//         console.log('数据库连接失败....................');
//         return;
//     };
//     console.log("数据库连接成功....................");
// });
// module.exports = connection;



//连接3：mongodb
// import mongoose from 'mongoose';
// import dotenv from 'dotenv';

// // 加载环境变量
// dotenv.config();

// const connectDB = async () => {
//     try {
//         // 从环境变量获取连接字符串
//         const conn = await mongoose.connect(process.env.MONGODB_URI, {
//             useNewUrlParser: true,
//             useUnifiedTopology: true,
//             // 其他可选配置
//             // autoIndex: true,      // 自动创建索引
//             // maxPoolSize: 10,      // 连接池大小
//         });

//         console.log(`✅ MongoDB Connected: ${conn.connection.host}`);
//         return conn;
//     } catch (error) {
//         console.error(`❌ MongoDB Connection Error: ${error.message}`);
//         process.exit(1); // 退出进程并返回错误代码
//     }
// };

// // 连接状态监听
// mongoose.connection.on('connected', () => {
//     console.log('📊 MongoDB event: connected');
// });

// mongoose.connection.on('error', (err) => {
//     console.error(`📊 MongoDB event error: ${err}`);
// });

// mongoose.connection.on('disconnected', () => {
//     console.warn('⚠️ MongoDB event: disconnected');
// });

// // 进程关闭时关闭数据库连接
// process.on('SIGINT', async () => {
//     await mongoose.connection.close();
//     console.log('📊 MongoDB connection closed due to app termination');
//     process.exit(0);
// });

// export default connectDB;

// src/config/database.js